package hot100;

import java.util.HashSet;
import java.util.Set;

public class longestConsecutive {
    public int longestConsecutive(int[] nums) {
        //使用Set存储nums中的值，主要使用contains()
        Set<Integer> set = new HashSet<>();
        for(int x : nums) {
            set.add(x);
        }

        //返回值
        int max = 0;

        for(int x : set) {
            //找到序列的起始数,x-1不存在
            if(!set.contains(x-1)){
                int cur = x;
                int len = 1;
                //判断x+1是否存在，存在的话len++，此时是连续序列
                while(set.contains(cur+1)) {
                    cur += 1;
                    len++;
                }
                //x+1不存在，连续序列终止，更换max
                if(max < len) {
                    max = len;
                }
            }
        }
        return max;
    }
}
